package com.pearadmin.pro.modules.exam.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pearadmin.pro.modules.exam.dto.ExamDTO;
import com.pearadmin.pro.modules.exam.dto.request.ExamSaveReqDTO;
import com.pearadmin.pro.modules.exam.dto.response.ExamOnlineRespDTO;
import com.pearadmin.pro.modules.exam.entity.Exam;
import com.pearadmin.pro.modules.examUtils.PagingReqDTO;
import org.springframework.scheduling.Trigger;

public interface ExamService extends IService<Exam> {

    /**
     * 在线考试分页响应类-考生视角
     *
     * @param reqDTO
     * @return
     */
    IPage<ExamOnlineRespDTO> onlinePaging(PagingReqDTO<ExamDTO> reqDTO);

    /**
     * 查找考试详情--简要信息
     *
     * @param id
     * @return com.pearadmin.pro.modules.exam.dto.ExamDTO
     * @author ZhouXingYun
     * @date 2022/5/24 9:36
     */
    ExamDTO findById(String id);


    /**
     * 查找考试详情
     *
     * @param id
     * @return com.pearadmin.pro.modules.exam.dto.request.ExamSaveReqDTO
     * @author ZhouXingYun
     * @date 2022/5/24 10:05
     */
    ExamSaveReqDTO findDetail(String id);
    /**
     * 分页查询数据
     * @param reqDTO
     * @return
     */
    IPage<ExamDTO> paging(PagingReqDTO<ExamDTO> reqDTO);


    /**
     * 保存考试信息
     * @param reqDTO
     */
    void save(ExamSaveReqDTO reqDTO);


    /**
     * 定时任务，每天晚上十二点扫描试卷，根据时间更改试卷状态
     * @author ZhouXingYun
     * @date 2022/6/10 9:17
     */
    void updateExamState();
}
